Filter coefficient generator

ABSTRACT

An apparatus and method for generating finite impulse response (FIR) filter coefficients are presented. The apparatus includes an address generator that multiplies a desired cutoff frequency f by an integer n to generate an address, a first look-up table that generates a sine function value of the address, a divider that divides the sine function value by n*pi, a multipexer that generates an impulse response function value by selecting one of a value produced from the divider and 2*f based on an outside control signal, and a multiplier that multiplies the impulse response function value by a corresponding window function value to generate an nth filter coefficient for the FIR filter.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to a filter coefficient generator, and more particularly, to a filter coefficient generator that promptly generates necessary filter coefficients in response to frequent sampling rate (frequency) changes of digital signals.

[0003] 2. Background of the Related Art

[0004] Supporting various display modes (e.g., PIP, POP, Zoom-In, Zoom-Out, and etc.) and display formats have become essential factors for digital televisions of these days. Up/down sampling rate conversion techniques are often used when it is necessary to change image sizes in order to make proper changes to the various display modes/formats in the digital televisions.

[0005]FIGS. 1 and 2 show general up/down sampling rate conversion techniques widely used to make such changes.

[0006]FIG. 1A illustrates a 1:M up sampling process of a digital signal when M is equal to 3. After M-1 zero-stuffing step is performed, wherein M-1 zero-valued samples are added, the signal passes through a low-pass filter having its cutoff frequency equal to 0.5/M.

[0007] FIG. LB illustrates a N:1 down sampling process of a digital signal when N is equal to 3. It consists of a low-pass filter having its cutoff frequency of 0.5/N and a decimator. The purpose of the low-pass filter is to prevent aliasing.

[0008] However, many practical applications require not only a simple 1:M or N:1 Sampling rate conversion, but rather a general M:N rate conversion. Since the sampling locations of input and output data are different, and the up or down sampling step needs to be performed depending on the values of M and N, a M:N decimator is combined with a linear interpolator forming a general format converter (GFC). FIG. 2 illustrates the structure of a GFC and an example of 3:2 down sampling process. As shown in FIG. 2, since the sampling locations of input and output data are not identical. The output data are calculated by interpolating two adjacent input samples(or data).

[0009] A digital filter is essential component in the process of changing display modes or image formats having various sizes, and the coefficients of the filter must be changed depending on the sizes of input and output data. Therefore, digital televisions, wherein the output sizes and display modes are frequently changed, require an automatic filter coefficient generator. Filter coefficient generator according to the prior art, however, is not able to timely generate filter coefficients necessary for the changes such as display modes and image formats. Therefore, the image quality may be impaired in transition period.

SUMMARY OF THE INVENTION

[0010] Accordingly, the present invention is directed to a filter coefficient generator that substantially obviates one or more problems due to limitations and disadvantages of the related art.

[0011] An object of the present invention is to provide a filter coefficient generator that timely generates filter coefficients necessary for frequent display mode and image format change.

[0012] Additional advantages, objects, and features of the invention will be set forth in part in the description which follows and in part will become apparent to those having ordinary skill in the art upon examination of the following or may be learned from practice of the invention. The objectives and other advantages of the invention may be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.

[0013] To achieve these objects and other advantages and in accordance with the purpose of the invention, as embodied and broadly described herein, an apparatus for generating finite impulse response (FIR) filter coefficients includes an address generator that multiplies a desired cutoff frequency f_(l) by an integer n representing coefficient tap position to generate an address, a first look-up table that generates a sine function value of the address; a divider that divides the sine function value by nπ, a multiplexer that generates an impulse response function value by selecting one of a value produced in the divider and 2f_(l) based on an outside control signal, and a multiplier that multiplies the impulse response function value by a corresponding window function value to generate a filter coefficient at nth tap position.

[0014] In another aspect of the present invention, An apparatus for generating high-pass or band-pass FIR filter coefficients using more than one low-pass filter coefficient generating devices having different desired cutoff frequencies is disclosed. The apparatus includes at least two low-pass filter coefficient generating devices each of which is shown as a first embodiment of the present invention; and an adder coupled to the devices for generating an nth high-pass or band-pass filter coefficient by adding or subtracting each of nth low-pass filter coefficients generated by each device.

[0015] In another aspect of the present invention, a method for generating finite impulse response (FIR) filter coefficients includes generating an address by multiplying a desired cutoff frequency f_(l) by an integer n, generating a sine function value of the address; dividing the sine function value by nπ, generating an impulse response function value by selecting one of a first value produced from the division and 2f_(l) based on an outside control signal, and generating an nth filter coefficient value by multiplying the impulse function value by a corresponding window function value.

[0016] It is to be understood that both the foregoing general description and the following detailed description of the present invention are exemplary and explanatory and are intended to provide further explanation of the invention as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

[0017] The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the invention and together with the description serve to explain the principle of the invention. In the drawings;

[0018]FIG. 1A illustrates a 1:M up sampling process of a digital signal;

[0019]FIG. 1B illustrates a N:1 down sampling process of a digital signal;

[0020]FIG. 2 illustrates the structure of a GFC and an example of a 3:2 Down sampling process;

[0021]FIG. 3 illustrates the magnitude function of a filter having f1 and f2 as its low and high cutoff frequencies;

[0022]FIG. 4 illustrates a block diagram of an automatic filter coefficient generating apparatus according to the present invention; and

[0023]FIG. 5 illustrates a coefficient generating apparatus for high-pass/band-pass filters.

DETAILED DESCRIPTION OF THE INVENTION

[0024] Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings.

[0025] Filters used for sampling rate conversion caused by display mode and image format changes generally require low-pass characteristics, and the values of filter coefficients must be promptly updated based on the rates of input and output data. However, the present invention is not only limited to low-pass filters, but rather involves with general filters that include any one of low-pass, high-pass, and band-pass characteristics.

[0026]FIG. 3 illustrates the magnitude function of a filter having f1 and f2 as its low and high cutoff frequencies. The impulse response of the filter can be obtained by using an inverse Fourier transformation as follows. [Eq. 1] $\begin{matrix} {{h(n)} = {{F^{- 1}\left\{ {H(f)} \right\}} = {{\int_{- f_{2}}^{f_{2}}{^{j\quad 2\quad \pi \quad {fn}}{f}}} - {\int_{- f_{1}}^{f_{1}}{^{j\quad 2\quad \pi \quad {fn}}{f}}}}}} \\ {= {{2f_{2}\sin \quad {c\left( {2\pi \quad f_{2}n} \right)}} - {2f_{1}\sin \quad {c\left( {2\pi \quad f_{1}n} \right)}}}} \\ {= {\frac{\sin \left( {2\pi \quad f_{2}n} \right)}{\pi \quad n} - \frac{\sin \left( {2\pi \quad f_{1}n} \right)}{\pi \quad n}}} \end{matrix}$

[0027] where F⁻¹{*} denotes an inverse Fourier transformation operator.

[0028] Eq.1 is a general equation that can be applied to all of band-pass, high-pass, and low-pass filters. In other words, if it needs to have a low-pass characteristic, f1 and f2 are set to 0 and a desired cutoff frequency, respectively. Similarly, f1, and f2 can be set to a desired cutoff frequency and 0.5, respectively, in order to have high-pass filter characteristics.

[0029] In a windowing method, which is widely used to get finite impulse response (FIR) function, a limited number of filter coefficients are obtained by multiplying the impulse response function values by a limited number of window function values as follows: ${g(n)} = {{h(n)}*{w\left( {n + \frac{N - 1}{2}} \right)}}$

[0030] where N represents the number of filter taps.

[0031] Some commonly used windows are defined as follows: (a) Rectangular window ${w(n)} = \left\{ \begin{matrix} {1,{0 \leq n \leq {N - 1}}} \\ {0,{otherwise}} \end{matrix} \right.$

[0032] (b) Bartlett window ${w(n)} = \left\{ \begin{matrix} {\frac{2n}{N - 1},{0 \leq n \leq \frac{N - 1}{2}}} \\ {{2 - \frac{2n}{N - 1}},{\frac{N - 1}{2} \leq n \leq {N - 1}}} \\ {0,{otherwise}} \end{matrix} \right.$

[0033] (c) Hanning window ${w(n)} = \left\{ \begin{matrix} {{\frac{1}{2}\left( {1 - {\cos \left( \frac{2\pi \quad n}{n - 1} \right)}} \right)},{0 \leq n \leq {N - 1}}} \\ {0,{otherwise}} \end{matrix} \right.$

[0034] (d) Hamming window ${w(n)} = \left\{ \begin{matrix} {{0.54 - {0.46\quad {\cos \left( \frac{2\pi \quad n}{N - 1} \right)}}},{0 \leq n \leq {N - 1}}} \\ {0,{otherwise}} \end{matrix} \right.$

[0035] (e) Blackman window ${w(n)} = \left\{ \begin{matrix} {{0.42 - {0.5{\cos \left( \frac{2\pi \quad n}{N - 1} \right)}} + {0.08{\cos \left( \frac{4\pi \quad n}{N - 1} \right)}}},{0 \leq n \leq {N - 1}}} \\ {0,{otherwise}} \end{matrix} \right.$

[0036] Since the window function has non-zero values when 0≦n≦N−1, the calculated filter coefficient has non-zero values when ${- \frac{N - 1}{2}} \leq n \leq {\frac{N - 1}{2}.}$

[0037]FIG. 4 illustrates a block diagram of an automatic filter coefficient generating apparatus according to the present invention. First, an address generator (100) generates an address having its value in the range of 0 to 31 by multiplying a desired cutoff frequency (f_(l)) by n (110) and performing a modular by 32 operation (120) afterward. The value of n is greater than or equal to 0, and less than or equal to N−1. The value of f_(l) is represented in binary numbers. Actual values of the cutoff frequencies and their corresponding values in binary numbers are shown in the table 1. TABLE 1 ƒ₁ Actual cutoff frequency 0000  0/32 0001  1/32 0010  2/32 0011  3/32 0100  4/32 0101  5/32 0110  6/32 0111  7/32 1000  8/32 1001  9/32 1010 10/32 1011 11/32 1100 12/32 1101 13/32 1110 14/32 1111 15/32

[0038] Then a first look-up table (200) outputs the corresponding value of the sine function based on the address value received from the address generator. The look-up table (200) contains 32 sampled values representing a period of a sine function. In order to get more accurate values of the filter coefficients, the values of f_(l) can be represented in more than 4 bits. Then output value from the look-up table (200) needs to be also increased. The output value from the look-up table (200) is then divided by nπ in a divider (500). One of the output value from the divider and 2f_(l) (400) is selected by a multiplexer (600) depending on a control signal from outside. For example, the multiplexer selects 2f_(l) if n is equal to 0, and otherwise it selects the output from the divider. Thereafter, a filter coefficient value, g,(n) can be finally obtained by multiplying the value selected by the multiplexer by a window function value (w(n)). The calculated coefficients consist of N taps, and the location of each tap is $\left( {{- \frac{N - 1}{2\quad}},\quad \ldots \quad,\quad \frac{N - 1}{2}} \right).$

[0039] The values of w(n) are stored in a second look-up table (700) having its size equal to N. Additionally, a desired ripple size and transition bandwidth may be obtained by using any one of various windows shown in the earlier section.

[0040] The FIG. 5 illustrates a low-pass/high-pass/band-pass filter coefficient generating apparatus. It consists of two low- pass filter coefficient generating devices having different cutoff frequencies. An adder (30) adds the output values from each device to obtain the low-pass or high-pass or band-pass filter coefficients.

[0041] As shown and explained above, the filter coefficient generating apparatus based on the present invention can promptly generates filter coefficients in response to the frequent image format and display mode changes.

[0042] The forgoing embodiments are merely exemplary and are not to be construed as limiting the present invention. The present teachings can be readily applied to other types of apparatuses. The description of the present invention is intended to be illustrative, and not to limit the scope of the claims. Many alternatives, modifications, and variations will be apparent to those skilled in the art. 

What is claimed is:
 1. An apparatus for generating finite impulse response (FIR) filter coefficients comprising: (a) an address generator that multiplies a desired cutoff frequency f_(l) by an integer n to generate an address; (b) a first look-up table that generates a sine function value of said address; (c) a divider that divides said sine function value by nπ; (d) a multiplexer that generates an impulse response function value by selecting one of a first value provided by said divider and 2f_(l) based on an outside control signal; and (e) a multiplier that multiplies said impulse response function value by a corresponding window function value to generate an nth filter coefficient value.
 2. The apparatus of claim 1, wherein said multiplexer generates said impulse response function value by selecting said first value if n is equal to 0 or by selecting 2f_(l) if n is not equal to
 0. 3. The apparatus of claim 1, wherein n=0,1,2, . . . ,N−1, where N represents a number of filter taps.
 4. The apparatus of claim 1, wherein said nth filter coefficient value can be non-zero only when ${{- \frac{N - 1}{2}} \leq n \leq \frac{N - 1}{2}},$

where N represents a number of filter taps.
 5. The apparatus of claim 1, wherein said window function value is obtained by using any one of Rectangular, Bartlett, Hanning, Hamming, and Blackman window functions.
 6. The apparatus of claim 1, further comprising a second look-up table that receives n and generates said corresponding window function value.
 7. An apparatus for generating low-pass or high-pass or band-pass FIR filter coefficients using more than one low-pass filter coefficient generating devices having different desired cutoff frequencies, the apparatus comprising: (a) at least two low-pass filter coefficient generating devices, each of said devices comprises (a1) an address generator that multiplies a desired cutoff frequency f_(l) by an integer n to generate an address, (a2) a first look-up table that generates a sine function value of said address, (a3) a divider that divides said sine function value by n/π, (a4) a multiplexer that generates an impulse response function value by selecting one of a first value produced by said divider and 2f_(l) based on an outside control signal, and (a5) a multiplier that multiplies said impulse response function value by a corresponding window function value to generate an nth low-pass filter coefficient value; and (b) an adder coupled to said devices for generating an nth low-pass or high-pass or band-pass filter coefficient value by adding or subtracting each of said low-pass filter coefficients generated by said devices in the step (a5).
 8. The apparatus of claim 7, wherein said multiplexer generates said impulse response function value by selecting said first value if n is equal to 0 or by selecting 2f if n is not equal to
 0. 9. The apparatus of claim 7, wherein n=0,1,2, . . . ,N-l, where N represents a number of filter taps.
 10. The apparatus of claim 7, wherein wherein said nth filter coefficient value generated in the step (b) can be non-zero only when ${{- \frac{N - 1}{2}} \leq n \leq \frac{N - 1}{2}},$

where N represents a number of filter taps.
 11. The apparatus of claim 7, wherein said window function value is obtained by using any one of Rectangular, Bartlett, Hanning, Hamming, and Blackman window functions.
 12. The apparatus of claim 7, wherein each of said devices further comprises a second look-up table that receives n and generates said corresponding window function value.
 13. A method for generating finite impulse response (FIR) filter coefficients, the method comprising, (a) generating an address by multiplying a desired cutoff frequency f_(l) by an integer n; (b) generating a sine function value of said address; (c) dividing said sine function value by nπ; (d) generating an impulse response function value by selecting one of a first value produced from said division in the step (c) and 2f_(l) based on an outside control signal; and (e) generating an nth filter coefficient value by multiplying said impulse function value by a corresponding window function value.
 14. The method of claim 13, wherein said impulse response function value is generated by selecting said first value if n is equal to zero or by selecting 2f_(l) if n is not equal to zero.
 15. The method of claim 13, wherein n=0,1,2, . . . ,N−1, where N represents a number of filter taps.
 16. The method of claim 13, wherein said nth filter coefficient value can be non-zero only when ${{- \frac{N - 1}{2}} \leq n \leq \frac{N - 1}{2}},$

where N represents a number of filter taps.
 17. The method of claim 13, wherein said window function value is obtained by using any one of Rectangular, Bartlett, Hanning, Hamming, and Blackman window functions.
 18. The method of claim 13, wherein said corresponding window function value is a (n+(N−1)/2)th window function value. 